(function(){
    function Observer(){
        this.obj = {};
        this.on = (type,handler)=>{
            this.obj[type] = (this.obj[type] ? this.obj[type] : []);
            this.obj[type].push(handler);
        }
        this.emit = (type,msg)=>{
            if(this.obj[type]){
                this.obj[type].forEach((item) => {
                    item(msg);
                });
            }
        }
    }
    window.Observer = Observer;
})();

let oo1 = new Observer();

oo1.on('唐僧',function(msg){console.log('小白龙 收到了 唐僧 的群消息：' + msg);});
oo1.on('唐僧',function(msg){console.log('沙和尚 收到了 唐僧 的群消息：' + msg);});

oo1.emit('唐僧','明天放假一天，吃烤串！！');